package com.chenfan.mcn.model;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chenfan.mcn.model.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @Author chenguopeng
 * @Date 2021/6/7 10:30
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("ae_royalties")
public class AeRoyalties extends BaseEntity {

    /**
     * 收入合同执行单主键id
     */
    private Long excuteId;

    /**
     * 执行单号
     */
    @Excel(name = "执行单编号", orderNum = "1")
    private String excuteCode;

    /**
     * AE季度单id
     */
    private Long aeQuarterlyId;

    /**
     * 提成单类型：0提成人，1统筹人
     */
    private Integer aeRoyaltiesType;

    /**
     * 部门负责人id
     */
    private Long depPrincipalNameId;

    /**
     * 部门负责人名称
     */
    @Excel(name = "部门负责人", orderNum = "16")
    private String depPrincipalName;


    /**
     * 执行人id
     */
    private Long excutorId;

    /**
     * 执行人名称
     */
    @Excel(name = "执行人", orderNum = "14")
    private String excutorName;

    /**
     * 是否作废（0-未作废，1-已作废）
     */
    private Integer isInvalid;

    /**
     * 品牌名称（数据字典）
     */
    private String brandName;

    /**
     * 产品名称
     */
    @Excel(name = "产品名称", orderNum = "7")
    private String productName;

    /**
     * 执行人工号
     */
    @Excel(name = "执行人工号", orderNum = "13")
    private String jobNumber;

    /**
     * 部门负责人工号
     */
    @Excel(name = "部门负责人工号", orderNum = "15")
    private String departmentJobNumber;

    /**
     * 计算个人提成和部门负责人提成
     *
     * @param contractExcutionOrder
     */
//    @Deprecated
//    public void calculation(ContractExcutionOrder contractExcutionOrder, boolean isAdd) {
//        BigDecimal actualQuotedPrice = contractExcutionOrder.getActualQuotedPrice();
//        this.setTotalMoney(actualQuotedPrice.multiply(this.getTotalPoint()));
//        if (Objects.nonNull(this.getDepPrincipalPoint())) {
//            if (isAdd && this.getExcutorId().equals(this.getDepPrincipalNameId())) {
//                //执行人或者统筹人跟部门负责人一致，则部门负责人提点为0
//                this.setDepPrincipalPoint(BigDecimal.ZERO);
//            }
//            this.setDepPrincipalMoney(actualQuotedPrice.multiply(this.getDepPrincipalPoint()));
//        }
//    }
}
